#ifndef GRAPH_HPP
#define GRAPH_HPP

/**
 * @file   graph.hpp
 * @author Kimmo Luoma <kimmo@PHOTON3>
 * @date   Fri Sep 28 09:55:20 2012
 * 
 * @brief  Class for graph. Graph \f$ G=\{V,E\} \f$ is made up of a set 
 * of vertices \f$ V \f$ and set of edges \f$ E \f$. Set \f$ V \f$ is 
 * implemented as std::vector<int>. Edge \f$ e \in E \f$ is implemented as
 * std::pair<int,int>. 
 *  
 */



#include "edgemap.hpp"
#include<multimap>
#include<map>
#include<utility>


class graph:public edgemap{
private:
  int degree_;
  std::set<int> vertices_;
  std::multimap<int,int> edges_;
public:
  graph():edge_map(){};
  ~graph();
  graph(std::set<int> vertices, std::multimap<int,int> edges,int d);
};


#endif
